package cn.stylefeng.guns.modular.history.service;

import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.guns.modular.history.entity.VoteHistory;
import cn.stylefeng.guns.modular.history.pojo.request.VoteHistoryRequest;
import cn.stylefeng.guns.modular.vote.entity.Works;

import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 投票记录表; 服务类
 *
 * @author songq
 * @date 2025/04/22 14:55
 */
public interface VoteHistoryService extends IService<VoteHistory> {

	/**
     * 新增
     *
     * @param voteHistoryRequest 请求参数
     * @author songq
     * @date 2025/04/22 14:55
     */
    void add(VoteHistoryRequest voteHistoryRequest);

	/**
     * 删除
     *
     * @param voteHistoryRequest 请求参数
     * @author songq
     * @date 2025/04/22 14:55
     */
    void del(VoteHistoryRequest voteHistoryRequest);

	/**
     * 编辑
     *
     * @param voteHistoryRequest 请求参数
     * @author songq
     * @date 2025/04/22 14:55
     */
    void edit(VoteHistoryRequest voteHistoryRequest);

	/**
     * 查询详情
     *
     * @param voteHistoryRequest 请求参数
     * @author songq
     * @date 2025/04/22 14:55
     */
    VoteHistory detail(VoteHistoryRequest voteHistoryRequest);

	/**
     * 获取列表
     *
     * @param voteHistoryRequest        请求参数
     * @return List<VoteHistory>   返回结果
     * @author songq
     * @date 2025/04/22 14:55
     */
    List<VoteHistory> findList(VoteHistoryRequest voteHistoryRequest);

	/**
     * 获取列表（带分页）
     *
     * @param voteHistoryRequest              请求参数
     * @return PageResult<VoteHistory>   返回结果
     * @author songq
     * @date 2025/04/22 14:55
     */
    PageResult<VoteHistory> findPage(VoteHistoryRequest voteHistoryRequest);

	void vote(VoteHistoryRequest voteHistoryRequest,List<Works> works);

}